-- 操作redis的key
local key = KEYS[1]
-- 粉丝id
local fansUserId = ARGV[1]
-- 时间戳
local timestamp = ARGV[2]

-- 判断粉丝列表是否存在
local exists = redis.call('EXISTS', key)
if exists == 0 then
    return -1
end

-- 获取粉丝列表大小 如果超出500，则移除最新的粉丝
local size = redis.call('ZCARD', key)
if size >= 5000 then
    redis.call('ZPOPMIN', key)
end

-- 添加新的粉丝关系
redis.call('ZADD', key, timestamp, fansUserId)
return 0